home *** CD-ROM | disk | FTP | other *** search
Wrap
Text File | 2002-10-03 | 73.2 KB | 1,518 lines
iiiillllVVVViiiieeeewwww((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllVVVViiiieeeewwww((((3333)))) NNNNAAAAMMMMEEEE iiiillllVVVViiiieeeewwww - displays an image within an ilDisplay IIIINNNNHHHHEEEERRRRIIIITTTTSSSS FFFFRRRROOOOMMMM ilLink HHHHEEEEAAAADDDDEEEERRRR FFFFIIIILLLLEEEE #include <il/ilView.h> CCCCLLLLAAAASSSSSSSS DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN iiiillllVVVViiiieeeewwww displays an image within a rectangular area in an X window that is managed by iiiillllDDDDiiiissssppppllllaaaayyyy. It has several attributes including position, size and image position. The position and size control where the image is displayed within the window and how much of the image to display. The image position controls what part of the image is displayed. In addition, each view has a border which is drawn inside the view. By default, the border is turned off. However, functions on ilView are defined to turn the borders on as well as to set the border color and width. By default, the border is red and is 2 pixels wide. An ilView is created by calling aaaaddddddddVVVViiiieeeewwww() on iiiillllDDDDiiiissssppppllllaaaayyyy. ilView is intended to be used with ilDisplay. See ilDisplay man page. IIIInnnnppppuuuutttt IIIImmmmaaaaggggeeeessss An ilView object can be created from any ilImage. The proper data type, coordinate space and color conversions will be performed automatically. In addition, an ilView can be created from an XImage. The XImage is converted to an ilImage using ilXImage. For multi-frame images (z > 1), the z-plane to be displayed can be set. If there is no input image, the background color is displayed. By default, the background color is black, but may be set using setBackground(). DDDDiiiissssppppllllaaaayyyy OOOOppppeeeerrrraaaattttoooorrrrssss A variety of display operators are provided to change the view position, view size and image position. These display operators call the corresponding method on ilDisplay, passing a pointer to itself. Therefore, only the view the operator is called on is affected. The _m_o_d_e parameter passed to display operators, is comprised of one or more bit fields. It is passed as an iiiinnnntttt value to allow the bit fields to be combined using a bitwise OR. These bit fields are defined as enumerated values in iiiillll////iiiillllDDDDiiiissssppppllllaaaayyyyDDDDeeeeffffssss....hhhh. There are several types of modes defined, including: ilDefer to defer painting, ilClip to prevent moving beyond the edge of the image, ilNoSwap to prevent swapping back/front buffers, and operator-specific flags such as ilRightEdge for the wipe operator and coordinate interpretation. PPPPaaaaggggeeee 1111 iiiillllVVVViiiieeeewwww((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllVVVViiiieeeewwww((((3333)))) The _x, _y coordinates passed to a display operator can be interpreted as absolute values, change from current view configuration, or as relative to the values initialized by sssseeeettttSSSSttttaaaarrrrtttt(((()))). Coordinate interpretation is specified by the following flags in _m_o_d_e: _i_l_R_e_l_V_a_l Interpreted relative to the starting _x_y position established with sssseeeettttSSSSttttaaaarrrrtttt(). The difference between the specified _x_y parameters and the starting _x_y location is used. The starting _x_y location is then updated. Useful for interactive manipulation. _i_l_O_l_d_R_e_l Same as _i_l_R_e_l_V_a_l except that the starting _x,_y location is not updated. This is useful when doing several operations based on the same _x,_y coordinates. _i_l_D_e_l_V_a_l Interpreted as changes (delta) to the current view configuration. _i_l_A_b_s_V_a_l Interpreted as absolute values relative to the ilDisplay origin (upper-left). CCCCLLLLAAAASSSSSSSS MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN SSSSUUUUMMMMMMMMAAAARRRRYYYY CCCCoooonnnnssssttttrrrruuuuccccttttoooorrrr ilView(ilDisplay* disply, ilImage* img, int mode = 0) ilView(ilDisplay* disply) ilView(ilDisplay* disply, XImage* img, int mode = 0) AAAAcccccccceeeessssssssiiiinnnngggg vvvviiiieeeewwww aaaattttttttrrrriiiibbbbuuuutttteeeessss ilDisplay* getDisplay() void getPos(int& x, int& y) void getSize(int& x, int& y) virtual void getImgPos(float& x, float& y, unsigned imgIdx = 0) virtual void getImgSize(int& x, int& y, unsigned imgIdx = 0) virtual void getImgPos(float& x, float& y, float& z, unsigned imgIdx = 0) virtual void getImgSize(int& x, int& y, int& z, unsigned imgIdx = 0) float getZ() void setZ(float z) virtual void setImg(ilImage* ilInImg, unsigned imgIdx = 0) void setXImg(XImage* xInImg) virtual ilImage* getImg(unsigned imgIdx = 0) XImage* getXImg() void setNop(int noOp) int isNop() void setDefer(int defer) int isDefer() virtual int isStereoView() int isTransparencyShown() PPPPaaaaggggeeee 2222 iiiillllVVVViiiieeeewwww((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllVVVViiiieeeewwww((((3333)))) PPPPiiiixxxxeeeellll aaaacccccccceeeessssssss void getPixel(int x, int y, iflPixel& pix, int mode = 0, unsigned imgIdx = 0) void setPixel(int x, int y, iflPixel& pix, int mode = 0, unsigned imgIdx = 0) QQQQuuuueeeerrrryyyyiiiinnnngggg////ppppoooossssiiiittttiiiioooonnnniiiinnnngggg bbbbyyyy iiiimmmmaaaaggggeeee llllooooccccaaaattttiiiioooonnnn void getImgLoc(float ix, float iy, float& x, float& y, int mode = ilLocIn, iflOrientation orientation = iflOrientation(0), unsigned imgIdx = 0) void getLoc(float x, float y, float& ix, float& iy, int mode = ilLocIn, iflOrientation orientation = iflOrientation(0), unsigned imgIdx = 0) void getLoc(float& ix, float& iy, int mode = ilLocIn|ilCenter, iflOrientation orientation = iflOrientation(0), unsigned imgIdx = 0) void setLoc(float ix, float iy, float x, float y, int mode = ilLocIn, iflOrientation orientation = iflOrientation(0), unsigned imgIdx = 0) void setLoc(float ix, float iy, int mode = ilLocIn|ilCenter, iflOrientation orientation = iflOrientation(0), unsigned imgIdx = 0) AAAAuuuuttttoooommmmaaaattttiiiicccc cccceeeennnntttteeeerrrriiiinnnngggg void setAutoCenter(int enable=TRUE) int isAutoCentered() EEEEddddggggeeee ffffiiiinnnnddddiiiinnnngggg int findEdge(int x, int y, int margin = -1, int mode = ilDspCoord) BBBBaaaacccckkkkggggrrrroooouuuunnnndddd,,,, ffffiiiillllllll aaaannnndddd eeeerrrrrrrroooorrrr ccccoooolllloooorrrrssss void getBackground(float& red, float& green, float& blue) void setBackground(float red, float green, float blue) void getErrorColor(float& red, float& green, float& blue) void setErrorColor(float red, float green, float blue) void showTransparency(int enable=TRUE); void ilViewShowTransparency(ilView* obj, int enable); SSSSttttaaaattttiiiicccc uuuuppppddddaaaatttteeee ccccoooonnnnttttrrrroooollll int isStaticUpdate() void setStaticUpdate(int enable) void setAutoStaticUpdate(int enable) VVVViiiieeeewwww sssseeeelllleeeeccccttttiiiioooonnnn PPPPaaaaggggeeee 3333 iiiillllVVVViiiieeeewwww((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllVVVViiiieeeewwww((((3333)))) void select() void unselect() int isSelected() CCCCaaaallllllllbbbbaaaacccckkkk ssssuuuuppppppppoooorrrrtttt void setCallback(ilCallback* prepare, ilCallback* render, ilCallback* finish = NULL) void setBorderCallback(ilCallback* prepare, ilCallback* render, ilCallback* finish = NULL) void getCallback(ilCallback*& prepare, ilCallback*& render, ilCallback*& finish) void getBorderCallback(ilCallback*& prepare, ilCallback*& render, ilCallback*& finish) void enableCallback(int enable = TRUE) void enableBorderCallback(int enable = TRUE) int isCallbackEnabled() int isBorderCallbackEnabled() BBBBoooorrrrddddeeeerrrr ccccoooonnnnttttrrrroooollll int getBorderStyle() void setBorderStyle(int style = ilViewBdrSolidLines) int getBorderWidth() void setBorderWidth(int bordWidth) void getBorderColor(float& red, float& green, float& blue) void setBorderColor(float red, float green, float blue) void setBorders(int flag, int mode = ilDefault) int hasBorders() void getBorders(iflTile2Dint& top, iflTile2Dint& bot, iflTile2Dint& lf, iflTile2Dint& rt, iflOrientation orientation) DDDDiiiissssppppllllaaaayyyy ooooppppeeeerrrraaaattttoooorrrrssss void moveView(int x, int y, int mode = ilRelVal) void moveImg(float x, float y, int mode = ilRelVal) void wipe(int x, int y, int mode = ilRelVal) void wipeSize(int x, int y, int mode = ilDelVal | ilTopRight) void wipeSplit(int x, int y, int mode = ilRelVal) void split(int mode = ilAbsSplit|ilRowSplit|ilColSplit) void alignImg(int mode = ilCenter) void alignView(int mode = ilCenter, ilView* rView = NULL) void update(int x = 0, int y = 0, int nx = 0, int ny = 0, float imgX = 0, float imgY = 0, int mode = ilDelVal) void paint(int mode = 0) void qPaint(ilMpNode* parent, int mode = 0, ilMpManager** pMgr = NULL) void display(int vMode =ilCenter, int iMode =ilCenter) void resize(int mode = 0) ilStatus save(ilImage* img, int mode = 0) void getImgSizeImg(ilImage* img, int& x, int& y, int& z) _p_r_o_t_e_c_t_e_d void setDirty() PPPPaaaaggggeeee 4444 iiiillllVVVViiiieeeewwww((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllVVVViiiieeeewwww((((3333)))) FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNNSSSS iiiillllVVVViiiieeeewwww(((()))) ilView(ilDisplay* disply, ilImage* img, int mode = 0) ilView(ilDisplay* disply, XImage* img, int mode = 0) ilView(ilDisplay* disply) All three versions of the constructor require a pointer to the ilDisplay that is to manage this ilView. The first version takes a pointer to an iiiillllIIIImmmmaaaaggggeeee and the second takes a pointer to an XXXXIIIImmmmaaaaggggeeee. The XImage is converted to an ilImage using iiiillllXXXXIIIImmmmaaaaggggeeee. The third version of the constructor allows a view to be created without an image. This view will display the background color until an image is mapped to it using setImg() or setXImg(). By default, the view is the size of the input image. However, if ilClip is passed in _m_o_d_e, the view size will be clipped to the size of ilDisplay's display area. By default, the background color is black, the border color is yellow, the border width is 4 pixels with a border style of _i_l_V_i_e_w_B_d_r_M_i_d_d_l_e_H_a_n_d_l_e_s, and the error color is magenta. However, these attributes can be set. The view is initially positioned at the origin of the display area. And by default, the view is the size of the image. However, if there is no input image or if ilClip is specified, the view is the size of the display area. aaaalllliiiiggggnnnnIIIImmmmgggg(((()))) void alignImg(int mode = ilCenter) Aligns the image mapped to this view based on _m_o_d_e. For example, if ilCenter is specified, the images will be centered within the view. Similarly, if ilBottomLeft is specified, the upper left corner of the image is aligned to the upper left corner of the view. See _i_l/_i_l_D_i_s_p_l_a_y_D_e_f._h for a complete list of modes. aaaalllliiiiggggnnnnVVVViiiieeeewwww(((()))) void alignView(int mode = ilCenter, ilView* rView = NULL) Aligns the view to the reference view specified in _r_V_i_e_w. The two views are aligned based on bit flags passed in _m_o_d_e. For example, if ilCenter is specified, the center of the view is aligned to the center of the reference view. Similarly, if ilTopRight is specified, the upper right corner of the view is aligned to the upper right corner of the reference view. If NULL is passed in rView, the background view in ilDisplay is used. See _i_l/_i_l_D_i_s_p_l_a_y_D_e_f_s._h for a PPPPaaaaggggeeee 5555 iiiillllVVVViiiieeeewwww((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllVVVViiiieeeewwww((((3333)))) complete list of modes. ddddiiiissssppppllllaaaayyyy(((()))) void display(int vMode =ilCenter, int iMode =ilCenter) This function resizes, aligns and paints the view. If ilDefer is specified, then painting is deferred. The view is resized to the size of the image. However, if ilClip is specified, the view is clipped to the size of the display. The view is aligned to the display as specified in _v_M_o_d_e and the image mapped to the view is aligned as specified in _i_M_o_d_e. See <_i_l/_i_l_D_i_s_p_l_a_y_D_e_f_s._h> for a complete list eeeennnnaaaabbbblllleeeeBBBBoooorrrrddddeeeerrrrCCCCaaaallllllllbbbbaaaacccckkkk(((()))) void enableBorderCallback(int enable = TRUE) This function enables or disables the border callback. See eeeennnnaaaabbbblllleeeeCCCCaaaallllllllbbbbaaaacccckkkk(((()))) void enableCallback(int enable = TRUE) This function enables or disables the post-render callback for this view. See sssseeeettttCCCCaaaallllllllbbbbaaaacccckkkk(). ffffiiiinnnnddddEEEEddddggggeeee(((()))) int findEdge(int x, int y, int margin = -1, int mode = ilDspCoord) Returns all edges that are within _m_a_r_g_i_n pixels of _x and _y. If -1 is passed in _m_a_r_g_i_n, then the default margin of 15 pixels or the border width is used - which ever is larger. For example, if x and y are near the right edge, then ilRightEdge is returned. If x and y are near the bottom right corner, then ilBottomRight (ilBottomEdge | ilRightEdge) is returned. If there are no edges within margin pixels, then ilNoEdge is returned. If x and y are more than margin pixels outside of the view, then ilNoView is returned. Note that the value returned can be used directly to perform a wipe operation. The x and y parameters are interpreted based on _m_o_d_e. If ilDspCoord is specified, the x and y are interpreted as display (window) coordinates. If ilScrCoord is specified, then they are interpreted as screen coordinates. See _i_l/_i_l_D_i_s_p_l_a_y_D_e_f._h for a complete list of modes. PPPPaaaaggggeeee 6666 iiiillllVVVViiiieeeewwww((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllVVVViiiieeeewwww((((3333)))) ggggeeeettttBBBBaaaacccckkkkggggrrrroooouuuunnnndddd(((()))) void getBackground(float& red, float& green, float& blue) Copies the current background color to _r_e_d, _g_r_e_e_n and _b_l_u_e. By default, the background color is black. ggggeeeettttBBBBoooorrrrddddeeeerrrrCCCCaaaallllllllbbbbaaaacccckkkk(((()))) void getBorderCallback(ilCallback*& prepare, ilCallback*& render, ilCallback*& finish) Returns the three border callbacks in _p_r_e_p_a_r_e, _r_e_n_d_e_r and _f_i_n_i_s_h. See sssseeeettttBBBBoooorrrrddddeeeerrrrCCCCaaaallllllllbbbbaaaacccckkkk(). ggggeeeettttBBBBoooorrrrddddeeeerrrrCCCCoooolllloooorrrr(((()))) void getBorderColor(float& red, float& green, float& blue) Copies the current border color to _r_e_d, _g_r_e_e_n and _b_l_u_e. ggggeeeettttBBBBoooorrrrddddeeeerrrrSSSSttttyyyylllleeee(((()))) int getBorderStyle() Returns the current border style. See sssseeeettttBBBBoooorrrrddddeeeerrrrSSSSttttyyyylllleeee(). ggggeeeettttBBBBoooorrrrddddeeeerrrrWWWWiiiiddddtttthhhh(((()))) int getBorderWidth() Returns the current border width in pixels. ggggeeeettttBBBBoooorrrrddddeeeerrrrssss(((()))) void getBorders(iflTile2Dint& top, iflTile2Dint& bot, iflTile2Dint& lf, iflTile2Dint& rt, iflOrientation orientation) This function returns the four tiles that makeup the view border. The top and bottom tiles are the full width of the view and have a height of bbbboooorrrrddddeeeerrrrWWWWiiiiddddtttthhhh pixels. The left and right tiles have a height equal to the view height minus twice the border width and have a width of bbbboooorrrrddddeeeerrrrWWWWiiiiddddtttthhhh pixels. PPPPaaaaggggeeee 7777 iiiillllVVVViiiieeeewwww((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllVVVViiiieeeewwww((((3333)))) ggggeeeettttCCCCaaaallllllllbbbbaaaacccckkkk(((()))) void getCallback(ilCallback*& prepare, ilCallback*& render, ilCallback*& finish) Returns the three post-render callbacks in _p_r_e_p_a_r_e, _r_e_n_d_e_r and _f_i_n_i_s_h. See sssseeeettttCCCCaaaallllllllbbbbaaaacccckkkk(). ggggeeeettttDDDDiiiissssppppllllaaaayyyy(((()))) ilDisplay* getDisplay() This method returns a pointer to the ilDisplay that this view is associated with. ggggeeeettttEEEErrrrrrrroooorrrrCCCCoooolllloooorrrr(((()))) void getErrorColor(float& red, float& green, float& blue) Copies the current error color to _r_e_d, _g_r_e_e_n and _b_l_u_e. By default the error color is yellow. ggggeeeettttIIIImmmmgggg(((()))) virtual ilImage* getImg(unsigned imgIdx = 0) Returns an iiiillllIIIImmmmaaaaggggeeee pointer to the view's image. The _i_m_g_I_d_x parameter controls which image of a multi-image view (e.g., stereo) to select. Currently only two values are accepted in imgIdx. These are defined in the ilViewImgPairIdx enumerated type. They are ilViewImgPairLeft and ilViewImgPairRight. Since this view class does not support multiple images within a view, however, this parameter is ignored in this implementation. ggggeeeettttIIIImmmmggggLLLLoooocccc(((()))) void getImgLoc(float ix, float iy, float& x, float& y, int mode = ilLocIn, iflOrientation orientation = iflOrientation(0), unsigned imgIdx = 0) This function is similar to getLoc(). It returns the image location specified by _i_x, _i_y relative to the display window. The location is returned in _x, _y and is mapped to the specified _o_r_i_e_n_t_a_t_i_o_n. If no orientation is specified, the returned xy location is in the display's workOrientation which is iiiiffffllllUUUUppppppppeeeerrrrLLLLeeeeffffttttOOOOrrrriiiiggggiiiinnnn. PPPPaaaaggggeeee 8888 iiiillllVVVViiiieeeewwww((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllVVVViiiieeeewwww((((3333)))) The _i_m_g_I_d_x parameter controls which image of a multi-image view (e.g., stereo) to select. Currently only two values are accepted in imgIdx. These are defined in the ilViewImgPairIdx enumerated type. They are ilViewImgPairLeft and ilViewImgPairRight. ggggeeeettttIIIImmmmggggPPPPoooossss(((()))) virtual void getImgPos(float& x, float& y, float& z, unsigned imgIdx = 0) virtual void getImgPos(float& x, float& y, unsigned imgIdx = 0) Returns the position of the image within the view in _x, _y. The image position controls what part of the image is displayed in the view, similar to the way getTile works. In other words, the image position corresponds to the upper left corner of the view (not the origin of the image). The 3D version returns the image position in the x,y,z dimensions. The _i_m_g_I_d_x parameter controls which image of a multi- image view (e.g., stereo) to select. Currently only two values are accepted in imgIdx. These are defined in the ilViewImgPairIdx enumerated type. They are ilViewImgPairLeft and ilViewImgPairRight. Since this view class does not support multiple images within a view, however, this parameter is ignored. ggggeeeettttIIIImmmmggggSSSSiiiizzzzeeee(((()))) virtual void getImgSize(int& x, int& y, int& z, unsigned imgIdx = 0) virtual void getImgSize(int& x, int& y, unsigned imgIdx = 0) Returns the size of the image in _x, _y. The 3D version also returns the image size in the z dimension. The _i_m_g_I_d_x parameter controls which image of a multi-image view (e.g., stereo) to select. Currently only two values are accepted in imgIdx. These are defined in the ilViewImgPairIdx enumerated type. They are ilViewImgPairLeft and ilViewImgPairRight. Since this view class does not support multiple images within a view, however, this parameter is ignored. ggggeeeettttIIIImmmmggggSSSSiiiizzzzeeeeIIIImmmmgggg(((()))) void getImgSizeImg(ilImage* img, int& x, int& y, int& z) _p_r_o_t_e_c_t_e_d Returns the size of _i_m_g in the ilDisplay's work orientation, or all zeroes if _i_m_g is NULL. ggggeeeettttLLLLoooocccc(((()))) void getLoc(float x, float y, float& ix, float& iy, int mode = ilLocIn, iflOrientation orientation = iflOrientation(0), unsigned imgIdx = 0) PPPPaaaaggggeeee 9999 iiiillllVVVViiiieeeewwww((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllVVVViiiieeeewwww((((3333)))) void getLoc(float& ix, float& iy, int mode = ilLocIn|ilCenter, iflOrientation orientation = iflOrientation(0), unsigned imgIdx = 0) This function returns the location in the image, corresponding to _x and _y. The location in the image is returned in _i_x and _i_y and is mapped to the specified _o_r_i_e_n_t_a_t_i_o_n. If no orientation is specified, the returned xy location is in the display's workOrientation which is iiiiffffllllUUUUppppppppeeeerrrrLLLLeeeeffffttttOOOOrrrriiiiggggiiiinnnn. If iiiillllLLLLooooccccIIIInnnn is passed in _m_o_d_e, the location is returned in the input space of the image. If iiiillllLLLLooooccccOOOOuuuutttt is passed in _m_o_d_e, the location is returned in the output space of the image. For example, if an ilRotZoomIng is mapped to the view and ilLocIn is specified, _i_x and _i_y will correspond to the location in the unzoomed image. However if ilLocOut is specified, _i_x and _i_y will correspond to the location in the zoomed image. The second version determines the desired location based on _m_o_d_e. For example, if iiiillllCCCCeeeennnntttteeeerrrr is specified, the location corresponding to the center of the view is returned. If iiiillllBBBBoooottttttttoooommmmLLLLeeeefffftttt is specified, the location corresponding to the bottom left corner of the view is returned. Note that _m_o_d_e is a bit-wise inclusive OR of various flags defined in ilDisplayDefs.h. In both versions the _i_m_g_I_d_x parameter controls which image of a multi-image view (e.g., stereo) to select. Currently only two values are accepted in imgIdx. These are defined in the ilViewImgPairIdx enumerated type. They are ilViewImgPairLeft and ilViewImgPairRight. ggggeeeettttPPPPiiiixxxxeeeellll(((()))) void getPixel(int x, int y, iflPixel& pix, int mode = 0, unsigned imgIdx = 0) Returns the pixel in the image corresponding to the location _x and _y. The pixel value is returned in _p_i_x. The x and y parameters are interpreted based on _m_o_d_e. If ilDspCoord is specified, the x and y are interpreted as display (window) coordinates. If ilScrCoord is specified, then they are interpreted as screen coordinates. (see also setPixel()) The _i_m_g_I_d_x parameter controls which image of a multi-image view (e.g., stereo) to select. Currently only two values are accepted in imgIdx. These are defined in the ilViewImgPairIdx enumerated type. They are ilViewImgPairLeft and ilViewImgPairRight. ggggeeeettttPPPPoooossss(((()))) void getPos(int& x, int& y) PPPPaaaaggggeeee 11110000 iiiillllVVVViiiieeeewwww((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllVVVViiiieeeewwww((((3333)))) Returns the position of the view within the display in _x, _y. Any pending changes to the view position are accounted for. ggggeeeettttSSSSiiiizzzzeeee(((()))) void getSize(int& x, int& y) Returns the size of the view in _x and _y. Any pending changes to the view size are accounted for. ggggeeeettttXXXXIIIImmmmgggg(((()))) XImage* getXImg() Returns an XXXXIIIImmmmaaaaggggeeee pointer to the view's image. ggggeeeettttZZZZ(((()))) float getZ() Returns the current z dimension being displayed for the mapped image. An ilImage may have a z dimension greater than 1. In which case, any one of these xy planes can be displayed. See also sssseeeettttZZZZ(((()))). hhhhaaaassssBBBBoooorrrrddddeeeerrrrssss(((()))) int hasBorders() Returns TRUE if borders are enabled, FALSE otherwise. iiiissssAAAAuuuuttttooooCCCCeeeennnntttteeeerrrreeeedddd(((()))) int isAutoCentered() Returns TRUE if auto centering are enabled, FALSE otherwise. See sssseeeettttAAAAuuuuttttooooCCCCeeeennnntttteeeerrrr() for more details. iiiissssBBBBoooorrrrddddeeeerrrrCCCCaaaallllllllbbbbaaaacccckkkkEEEEnnnnaaaabbbblllleeeedddd(((()))) int isBorderCallbackEnabled() Returns _T_R_U_E if the border callback has been set and is enabled. Otherwise it returns _F_A_L_S_E. See PPPPaaaaggggeeee 11111111 iiiillllVVVViiiieeeewwww((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllVVVViiiieeeewwww((((3333)))) iiiissssCCCCaaaallllllllbbbbaaaacccckkkkEEEEnnnnaaaabbbblllleeeedddd(((()))) int isCallbackEnabled() Returns _T_R_U_E if the border callback has been set and is enabled. Otherwise it returns _F_A_L_S_E. See sssseeeettttCCCCaaaallllllllbbbbaaaacccckkkk(). iiiissssDDDDeeeeffffeeeerrrr(((()))) int isDefer() Returns TRUE if painting is deferred, FALSE otherwise. See setDefer() for more information. iiiissssNNNNoooopppp(((()))) int isNop() Returns the state of the NOP flag. If the NOP flag is TRUE then the view will be unaffected by display operations on the view stack in ilDisplay. iiiissssSSSSeeeelllleeeecccctttteeeedddd(((()))) int isSelected() Returns TRUE if the view is selected, FALSE otherwise. See select() for more information. iiiissssSSSSttttaaaattttiiiiccccUUUUppppddddaaaatttteeee(((()))) int isStaticUpdate() Returns TRUE if the staticUpdate flag or autoStaticUpdate flag are TRUE. See setStaticUpdate() and setAutoStaticUpdate() for information. iiiissssSSSStttteeeerrrreeeeooooVVVViiiieeeewwww(((()))) virtual int isStereoView() Returns TRUE if the view is a stereo view. iiiissssTTTTrrrraaaannnnssssppppaaaarrrreeeennnnccccyyyySSSShhhhoooowwwwnnnn(((()))) PPPPaaaaggggeeee 11112222 iiiillllVVVViiiieeeewwww((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllVVVViiiieeeewwww((((3333)))) int isTransparencyShown() Returns TRUE if transparency is used when displaying the image in the view. mmmmoooovvvveeeeIIIImmmmgggg(((()))) void moveImg(float x, float y, int mode = ilRelVal) This function moves the image within the view, as specified by _x and _y. The _m_o_d_e controls how the function operates. If ilClip is passed in mode, the image position is clipped to prevent moving beyond the edge of the image. However, by default, the image may be moved beyond its edge, exposing the image's fill value. The view is painted after the image has been moved, unless ilDefer is passed in mode. The mode also controls how the x and y parameters are interpreted. If ilDelVal is passed in _m_o_d_e, x and y specify the change (delta) in the image position. If ilAbsVal is specified, x and y specify the new position of the image. Note that the image position corresponds to the upper-left corner of the view, rather than the origin of the image. If ilRelVal is passed in _m_o_d_e, then x and y are interpreted relative to a starting xy coordinate maintained within ilDisplay. Typically, ilRelVal is used for interactive applicatons that use the mouse to control movement. The sssseeeettttSSSSttttaaaarrrrtttt(((()))) function on ilDisplay must be called to set the starting xy location. Then the difference between the starting xy location and the specified xy location is used to adjust the image position. The starting xy location is then updated. Specifying ilOldRel has the same effect as ilRelVal except that the starting xy location is not updated. mmmmoooovvvveeeeVVVViiiieeeewwww(((()))) void moveView(int x, int y, int mode = ilRelVal) This function moves the view within the display, as specified by _a_n_d _y. _T_h_e _m_o_d_e _c_o_n_t_r_o_l_s _h_o_w _t_h_e _f_u_n_c_t_i_o_n _o_p_e_r_a_t_e_s. _I_f _i_l_C_l_i_p _i_s _p_a_s_s_e_d _i_n _m_o_d_e, _t_h_e _v_i_e_w _p_o_s_i_t_i_o_n _i_s _c_l_i_p_p_e_d _t_o _p_r_e_v_e_n_t _m_o_v_i_n_g _b_e_y_o_n_d _t_h_e _e_d_g_e _o_f _t_h_e _d_i_s_p_l_a_y. _H_o_w_e_v_e_r, _b_y _d_e_f_a_u_l_t, _t_h_e _v_i_e_w _m_a_y _b_e _m_o_v_e_d _b_e_y_o_n_d _t_h_e _e_d_g_e _o_f _t_h_e _d_i_s_p_l_a_y. _T_h_e _v_i_e_w _i_s _p_a_i_n_t_e_d _a_f_t_e_r _t_h_e _v_i_e_w _h_a_s _b_e_e_n _m_o_v_e_d, _u_n_l_e_s_s _i_l_D_e_f_e_r _i_s _p_a_s_s_e_d _i_n _m_o_d_e. _T_h_e _m_o_d_e _a_l_s_o _c_o_n_t_r_o_l_s _h_o_w _t_h_e _x _a_n_d _y _p_a_r_a_m_e_t_e_r_s _a_r_e _i_n_t_e_r_p_r_e_t_e_d. If ilDelVal is passed in _m_o_d_e, x and y specify the change (delta) in the view position. If ilAbsVal is specified, x and y specify the new position of the view. Note that the view position corresponds to the PPPPaaaaggggeeee 11113333 iiiillllVVVViiiieeeewwww((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllVVVViiiieeeewwww((((3333)))) upper-left corner of the view relative to the upper-left corner of the display. If ilRelVal is passed in _m_o_d_e, then x and y are interpreted relative to a starting xy coordinate maintained within ilDisplay.Typically, ilRelVal is used for interactive applicatons that use the mouse to control movement. The sssseeeettttSSSSttttaaaarrrrtttt(((()))) function on ilDisplay must be called to set the starting xy location. Then the difference between the starting xy location and the specified xy location is used to adjust the view position. The starting xy location is then updated. Specifying ilOldRel has the same effect as ilRelVal except that the starting xy location is not updated. ppppaaaaiiiinnnntttt(((()))) void paint(int mode = 0) This function paints the view if it needs to be painted. If ilPaintExpose is passed in _m_o_d_e, the view is forced to be painted. If ilDefer is passed in _m_o_d_e, or if the view is deferred (see setDefer()), then the view will not be painted. The view position, size and image position are unaffected. qqqqPPPPaaaaiiiinnnntttt(((()))) void qPaint(ilMpNode* parent, int mode = 0, ilMpManager** pMgr = NULL) This function is identical to ppppaaaaiiiinnnntttt() except that the paint operation is queued and the function returns immediately. This allows the application thread to return to processing events and thus provide a responsive UI. See iiiillllMMMMppppMMMMaaaannnnaaaaggggeeeerrrr and iiiillllMMMMppppNNNNooooddddeeee for more information. If an iiiillllMMMMppppNNNNooooddddeeee is passed as _p_a_r_e_n_t, the paint requests are queued on the parent node. If _p_M_g_r is specified, the iiiillllMMMMppppMMMMaaaannnnaaaaggggeeeerrrr created to queue the paint requests is returned. This allows an application to setup a completion callback or wait for the queued requests to complete. rrrreeeessssiiiizzzzeeee(((()))) void resize(int mode = 0) This function resizes the view to be the size of the image. However, if ilClip is passed, the view size is clipped to the size of the display. In addition, an alignment mode such as ilCenter can be passed in _m_o_d_e to center the image within the view. If ilNoAlign is passed instead, no image alignment is done. Unless ilDefer is passed, the view is painted after resizing and alignment. PPPPaaaaggggeeee 11114444 iiiillllVVVViiiieeeewwww((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllVVVViiiieeeewwww((((3333)))) ssssaaaavvvveeee(((()))) ilStatus save(ilImage* img, int mode = 0) This function saves a region of the display area into the ilImage specified by _i_m_g. The region saved, starts at the current view position and is the size of _i_m_g. By default borders are not painted. However, if ilPaintBorder is passed in mode, then borders will be painted. sssseeeelllleeeecccctttt(((()))) void select() This function selects a view by turning on borders and setting the nnnnoooopppp flag to FALSE. If the nop flag is TRUE, the view is not affected during multi-view operations. See also unselect() and setNop(). sssseeeettttAAAAuuuuttttooooCCCCeeeennnntttteeeerrrr(((()))) void setAutoCenter(int enable=TRUE) This method enables or disables auto centering based on the value of the _e_n_a_b_l_e flag. When auto centering is enabled the center position in the view of the ultimate source image for the displayed image will be tracked whenever the image is repositioned. When the input image is altered and the view is repainted the last tracked position before the alteration will be recentered in the view. This is very useful when diplaying a rotating or zooming image. When the angle or zoom factor are changed on the input image the same portion of the input to the operator image will be stay in the center of the view. sssseeeettttAAAAuuuuttttooooSSSSttttaaaattttiiiiccccUUUUppppddddaaaatttteeee(((()))) void setAutoStaticUpdate(int enable) Enables or disables _a_u_t_o_S_t_a_t_i_c_U_p_d_a_t_e mode as specified by _e_n_a_b_l_e. When _a_u_t_o_S_t_a_t_i_c_U_p_d_a_t_e mode is enabled, a static update will occur when the view is painted after a reset has occurred. A reset is caused by changing inputs or processing parameters in the chain. In this case, the entire exposed region of the view needs to be painted. Rather than painting the region as many small tiles, each rectangular region is painted as one large tile for better performance. After the static update has been completed, normal tiled painting resumes. By default, automatic static update is enabled. However, it only has effect for hardware acceleration. PPPPaaaaggggeeee 11115555 iiiillllVVVViiiieeeewwww((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllVVVViiiieeeewwww((((3333)))) sssseeeettttBBBBaaaacccckkkkggggrrrroooouuuunnnndddd(((()))) void setBackground(float red, float green, float blue) Sets the background color to _r_e_d, _g_r_e_e_n and _b_l_u_e. The background color is only visible if no image is mapped to the view. sssseeeettttBBBBoooorrrrddddeeeerrrrCCCCaaaallllllllbbbbaaaacccckkkk(((()))) void setBorderCallback(ilCallback* prepare, ilCallback* render, ilCallback* finish = NULL) Sets the three border callbacks to the iiiillllCCCCaaaallllllllbbbbaaaacccckkkk functions specified by _p_r_e_p_a_r_e, _r_e_n_d_e_r and _f_i_n_i_s_h. The prepare and finish callbacks are called from an IL compute thread and are used to allocate and deallocate any needed buffers or to compute and save any state information. The render callback is called by the IL render thread and must execute as efficiently as possible for maximum performance. Any graphics state changes must be restored before returning from the render callback. Note that the prepare and finish callbacks may be NULL if not required. However, the finish callback is required. The border callback(s) is called only if it has been set and enabled. It may be changed or disabled as needed. If the border callback is called, the normal view borders are not painted. This allows an application to draw custom borders if desired. An iiiillllVVVViiiieeeewwwwCCCCbbbbAAAArrrrgggg is passed to each of the three callbacks and provides member functions to support border and graphics rendering. For example, the delta view size, position and image position may be queried. Also a list of border tiles to draw may be aquired. See iiiillllVVVViiiieeeewwwwCCCCaaaallllllllbbbbaaaacccckkkk for more information. sssseeeettttBBBBoooorrrrddddeeeerrrrCCCCoooolllloooorrrr(((()))) void setBorderColor(float red, float green, float blue) Sets the border color to _r_e_d, _g_r_e_e_n and _b_l_u_e. sssseeeettttBBBBoooorrrrddddeeeerrrrSSSSttttyyyylllleeee(((()))) void setBorderStyle(int style = ilViewBdrSolidLines) Sets the border style to _s_t_y_l_e. By default, the border style is iiiillllVVVViiiieeeewwwwBBBBddddrrrrSSSSoooolllliiiiddddLLLLiiiinnnneeeessss. Other border styles include iiiillllVVVViiiieeeewwwwBBBBddddrrrrDDDDaaaasssshhhheeeeddddLLLLiiiinnnneeeessss, iiiillllVVVViiiieeeewwwwBBBBddddrrrrCCCCoooorrrrnnnneeeerrrrHHHHaaaannnnddddlllleeeessss and iiiillllVVVViiiieeeewwwwBBBBddddrrrrMMMMiiiiddddddddlllleeeeHHHHaaaannnnddddlllleeeessss. Note that borders are drawn inside the view. PPPPaaaaggggeeee 11116666 iiiillllVVVViiiieeeewwww((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllVVVViiiieeeewwww((((3333)))) sssseeeettttBBBBoooorrrrddddeeeerrrrWWWWiiiiddddtttthhhh(((()))) void setBorderWidth(int bordWidth) Sets the border width to _w_i_d_t_h pixels. Note that borders are drawn inside the view. sssseeeettttBBBBoooorrrrddddeeeerrrrssss(((()))) void setBorders(int flag, int mode = ilDefault) Sets the border flag as specified by _f_l_a_g. If TRUE, borders are turned on, otherwise borders are turned off. Borders will be painted or erased unless defer mode has been set or ilDefer is passed in _m_o_d_e. In addition, if ilNoSwap is passed in _m_o_d_e, the front and back buffers will not be swapped after painting. sssseeeettttCCCCaaaallllllllbbbbaaaacccckkkk(((()))) void setCallback(ilCallback* prepare, ilCallback* render, ilCallback* finish = NULL) Sets the three post-render callbacks to the iiiillllCCCCaaaallllllllbbbbaaaacccckkkk functions specified by _p_r_e_p_a_r_e, _r_e_n_d_e_r and _f_i_n_i_s_h. The prepare and finish callbacks are called from an IL compute thread and are used to allocate and deallocate any needed buffers or to compute and save any state information. The render callback is called by the IL render thread and must execute as efficiently as possible for maximum performance. Any graphics state changes must be restored before returning from the render callback. Note that the prepare and finish callbacks may be NULL if not required. However, the finish callback is required. The post-render callback(s) is called only if it has been set and enabled. It may be changed or disabled as needed. The post-render callback is called after the view and borders have been rendered. This allows an application to draw graphics if desired. An iiiillllVVVViiiieeeewwwwCCCCbbbbAAAArrrrgggg is passed to each of the three callbacks and provides member functions to support graphics rendering. For example, the delta view size, position and image position may be queried. See iiiillllVVVViiiieeeewwwwCCCCaaaallllllllbbbbaaaacccckkkk for more information. sssseeeettttDDDDeeeeffffeeeerrrr(((()))) void setDefer(int defer) PPPPaaaaggggeeee 11117777 iiiillllVVVViiiieeeewwww((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllVVVViiiieeeewwww((((3333)))) Sets the defer flag the as specified by _d_e_f_e_r. If TRUE, then painting is deferred, otherwise the view is painted after each display operation. If the view is deferred, changes to the view position, view size and image position are accumulated as delta values until the view can be painted. sssseeeettttDDDDiiiirrrrttttyyyy(((()))) void setDirty() Indicates that the view needs to be repainted for some external reason (e.g. graphics drawn on top that need to be updated). sssseeeettttEEEErrrrrrrroooorrrrCCCCoooolllloooorrrr(((()))) void setErrorColor(float red, float green, float blue) Sets the error color to _r_e_d, _g_r_e_e_n and _b_l_u_e. By default the error color is yellow. If an error occurs while painting a view, the bad tile is painted with the error color. sssseeeettttIIIImmmmgggg(((()))) virtual void setImg(ilImage* ilInImg, unsigned imgIdx = 0) Sets the input image to the iiiillllIIIImmmmaaaaggggeeee specified by _i_m_a_g_e. Since ilView is derived from ilLink, it is chained onto the input image. Thus if a reset occurs in the image, ilView will also be reset. The _i_m_g_I_d_x parameter controls which image of a multi-image view (e.g., stereo) to select. Currently only two values are accepted in imgIdx. These are defined in the ilViewImgPairIdx enumerated type. They are ilViewImgPairLeft and ilViewImgPairRight. Since this view class does not support multiple images within a view, however, this parameter is ignored in this implementation. sssseeeettttLLLLoooocccc(((()))) void setLoc(float ix, float iy, float x, float y, int mode = ilLocIn, iflOrientation orientation = iflOrientation(0), unsigned imgIdx = 0) void setLoc(float ix, float iy, int mode = ilLocIn|ilCenter, iflOrientation orientation = iflOrientation(0), unsigned imgIdx = 0) Sets the location in the image specified by _i_x and _i_y in the given _o_r_i_e_n_t_a_t_i_o_n to the location in the display specified by _x and _y. The image is moved as needed to relocate the specified point. If PPPPaaaaggggeeee 11118888 iiiillllVVVViiiieeeewwww((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllVVVViiiieeeewwww((((3333)))) iiiillllLLLLooooccccIIIInnnn is passed in _m_o_d_e, the location is found in the input space of the image. If iiiillllLLLLooooccccOOOOuuuutttt is passed in _m_o_d_e, the location is found in the output space of the image. For example, if an ilRotZoomIng is mapped to the view and ilLocIn is specified, ix and iy will correspond to the location in the unrotated image. However if ilLocOut is specified, ix and iy will correspond to the location in the rotated image. The relocation can be accomplished by moving either the image or the view. If iiiillllLLLLooooccccVVVViiiieeeewwww is specified then the view is moved, alternatively if iiiillllLLLLooooccccIIIImmmmgggg is specified (default) then the image is moved. The second version determines the desired location based on _m_o_d_e. For example, if iiiillllCCCCeeeennnntttteeeerrrr is specified, the location corresponding to the center of the view is returned. Note that _m_o_d_e is a bit-wise inclusive OR of various flags defined in ilDisplayDefs.h. The _i_m_g_I_d_x parameter controls which image of a multi-image view (e.g., stereo) to select. Currently only two values are accepted in imgIdx. These are defined in the ilViewImgPairIdx enumerated type. They are ilViewImgPairLeft and ilViewImgPairRight. sssseeeettttNNNNoooopppp(((()))) void setNop(int noOp) Sets the nnnnoooopppp flag as specified by _n_o_O_p. When the nop flag is TRUE, the view is only affected when it is explicitly specified in a display operation. The view will be unaffected by display operations on the view stack in ilDisplay. However, ilDop can be used to override the nop flag during a display operation. The nop flag is FALSE by default. sssseeeettttPPPPiiiixxxxeeeellll(((()))) void setPixel(int x, int y, iflPixel& pix, int mode = 0, unsigned imgIdx = 0) Sets the pixel at the location specified by _x and _y to the value specified by _p_i_x. If ilDspCoord is specified, the x and y are interpreted as display (window) coordinates. If ilScrCoord is specified, then they are interpreted as screen coordinates. (see also getPixel()) The _i_m_g_I_d_x parameter controls which image of a multi-image view (e.g., stereo) to select. Currently only two values are accepted in imgIdx. These are defined in the ilViewImgPairIdx enumerated type. They are ilViewImgPairLeft and ilViewImgPairRight. PPPPaaaaggggeeee 11119999 iiiillllVVVViiiieeeewwww((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllVVVViiiieeeewwww((((3333)))) sssseeeettttSSSSttttaaaattttiiiiccccUUUUppppddddaaaatttteeee(((()))) void setStaticUpdate(int enable) Enables or disables _s_t_a_t_i_c_U_p_d_a_t_e mode as specified by _e_n_a_b_l_e. When _s_t_a_t_i_c_U_p_d_a_t_e mode is enabled, it forces a static update to occur whenever the view is painted. Rather than painting a region as many small tiles, each rectangular region is painted as one large tile. By default, static update is disabled. See setAutoStaticUpdate() for more information. sssseeeettttXXXXIIIImmmmgggg(((()))) void setXImg(XImage* xInImg) Sets the input image to the XXXXIIIImmmmaaaaggggeeee specified by _i_m_a_g_e. Since ilView is derived from ilLink, it is chained onto the input image. Thus if a reset occurs in the image, ilView will also be reset. sssseeeettttZZZZ(((()))) void setZ(float z) Sets the z dimension to be displayed for the mapped image. An ilImage may have a z dimension greater than 1. In which case, any one of these xy planes can be displayed. See also ggggeeeettttZZZZ(((()))). sssshhhhoooowwwwTTTTrrrraaaannnnssssppppaaaarrrreeeennnnccccyyyy(((()))) void showTransparency(int enable) If enable is TRUE, then the input image's transparency is used when rendering it to the window. Otherwise, it is ignored. sssspppplllliiiitttt(((()))) void split(int mode = ilAbsSplit|ilRowSplit|ilColSplit) This function repositions and resizes all views in the view stack of ilDisplay so that all views are visible. The _m_o_d_e specifies how the views are arranged. Starting at the bottom of the view stack, views are placed starting at the upper left corner of the display. The various split modes are listed below: _i_l_A_b_s_S_p_l_i_t All images are aligned based on the align mode specified (ilBottomLeft by default). PPPPaaaaggggeeee 22220000 iiiillllVVVViiiieeeewwww((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllVVVViiiieeeewwww((((3333)))) _i_l_R_e_l_S_p_l_i_t All images are positioned within views based on the view position. _i_l_R_o_w_S_p_l_i_t The views are arranged in rows. _i_l_C_o_l_S_p_l_i_t The views are arranged in columns. _i_l_P_a_c_k_S_p_l_i_t Views sizes are clipped to the size of the image and packed together. Any combination of these split modes may be used. For example if ilRowSplit | ilColSplit is specified in _m_o_d_e, views are arranged into an equal number of rows and columns. uuuunnnnsssseeeelllleeeecccctttt(((()))) void unselect() This function unselects the view by turning off borders and setting the nnnnoooopppp flag to TRUE. Then the nop flag is TRUE, the view is unaffected during multi-view operations. See also select() and setNop(). uuuuppppddddaaaatttteeee(((()))) void update(int x = 0, int y = 0, int nx = 0, int ny = 0, float imgX = 0, float imgY = 0, int mode = ilDelVal) This function allows the view position, view size and image position to be adjusted. The view is moved as specified by _x and _y. The view size is adjusted as specified by _n_x and _n_y. The image is moved within the view as specified by _i_m_g_X and _i_m_g_Y. All three adjustments are clipped if ilClip is passed in _m_o_d_e. After all three adjustments are made the view is painted, unless ilDefer is passed in _m_o_d_e. If ilDelVal is passed in _m_o_d_e, all parameters specify the change (delta) in position and size. If ilAbsVal is specified, all parameters specify the absolute position or size. If ilRelVal is passed in _m_o_d_e, then all parameters are interpreted relative to a starting xy coordinate maintained within ilDisplay. ilRelVal is not recommended for use with this operator. See wwwwiiiippppeeee(((()))) void wipe(int x, int y, int mode = ilRelVal) This function moves one or more edges on the view. The edge or edges to move are specified in _m_o_d_e. For example, if ilRightEdge is passed in mode, the right edge of the view is moves as specified by _x and PPPPaaaaggggeeee 22221111 iiiillllVVVViiiieeeewwww((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllVVVViiiieeeewwww((((3333)))) _y. In addition, if ilTopEdge | ilRightEdge (or ilTopRight) is specified, then the upper right corner is moved. Note that the value returned by ffffiiiinnnnddddEEEEddddggggeeee(((()))) can be used directly. In general, a wipe operation resizes the view. However, if ilAllEdge is passed in mode, then all edges of the view are moved and the view size is unchanged. This operation is referred to as an _i_n_s_e_t - the image is stationary and the view moves. This is the opposite of moving the image within the view. When comparing images, wiping is very useful. If ilDelVal is passed in _m_o_d_e, x and y specify the change (delta) in the image position. If ilAbsVal is specified, x and y specify the new position of the image. If ilRelVal is passed in _m_o_d_e, then x and y are interpreted relative to a starting xy coordinate maintained within ilDisplay, which can be set using the ilDisplay's sssseeeettttSSSSttttaaaarrrrtttt(((()))) function. If ilClip is passed in _m_o_d_e, the the edge is not allowed to move beyond the edge of the image. However, by default the edge can be moved beyond the edge of the image exposing the image's fill value. If ilDefer is passed in _m_o_d_e, then the view is not painted after the operation. wwwwiiiippppeeeeSSSSiiiizzzzeeee(((()))) void wipeSize(int x, int y, int mode = ilDelVal | ilTopRight) This function moves an edge or corner and the opposite edge or corner. The edge or corner passed in _m_o_d_e is moved as specified by _x and _y. In addition, the opposite edge or corner is moved in the opposite direction. This causes the view to grow or shrink by moving opposite edges or corners. For example, if the right edge is moved right by 10 pixels, the left edge is also moved left by 10 pixels. Note that the value returned by ffffiiiinnnnddddEEEEddddggggeeee(((()))) can be used directly. If ilDelVal is passed in _m_o_d_e, x and y specify the change (delta) in the image position. If ilAbsVal is specified, x and y specify the new position of the image. If ilRelVal is passed in _m_o_d_e, then x and y are interpreted relative to a starting xy coordinate maintained within ilDisplay. wwwwiiiippppeeeeSSSSpppplllliiiitttt(((()))) void wipeSplit(int x, int y, int mode = ilRelVal) This function moves the edge on all views, found by calling ffffiiiinnnnddddEEEEddddggggeeee(((()))) on ilDisplay. All of these edges are moved as specified by _x and _y. For example, if two views are displayed side by side, the right edge of the left view and the left edge of the right view PPPPaaaaggggeeee 22222222 iiiillllVVVViiiieeeewwww((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllVVVViiiieeeewwww((((3333)))) may be moved simultaneously. This is useful after a split operation. If ilDelVal is passed in _m_o_d_e, x and y specify the change (delta) in the image position. If ilAbsVal is specified, x and y specify the new position of the image. If ilRelVal is passed in _m_o_d_e, then x and y are interpreted relative to a starting xy coordinate maintained within ilDisplay. IIIINNNNHHHHEEEERRRRIIIITTTTEEEEDDDD MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNNSSSS IIIInnnnhhhheeeerrrriiiitttteeeedddd ffffrrrroooommmm iiiillllLLLLiiiinnnnkkkk addResetCallback(), alterAction(), anyAltered(), clearAllowed(), clearSet(), clearStatus(), deleteRelated(), disableAltered(), dumpChain(), getClassPropSet(), getDescription(), getDirectParent(), getDisabledIndex(), getFloatProp(), getGenerationID(), getIntProp(), getMaxIndex(), getMinIndex(), getNumChildren(), getNumParents(), getParent(), getProp(), getProp(), getPropSet(), getPtrProp(), getRelatedChild(), getRelatedDelete(), getRelatedType(), getStatus(), hasResetCallbacks(), ilGetClassPropSet(), inProgress(), isAllowed(), isAltered(), isEnabled(), isRelated(), isSet(), markSet(), mpUnlock(), neverReset(), newRelatedType(), removeParent(), removeProp(), removeResetCallback(), reset(), resetAltered(), resetCheck(), setAllowed(), setAltered(), setDescription(), setDisabledIndex(), setEnabled(), setParent(), setProp(), setPropAltered(), setRelatedDelete(), setRelatedType(), setStatus(), stopWatching(), unalterable(), watch(), watchNotify() SSSSEEEEEEEE AAAALLLLSSSSOOOO ilDisplay, ilViewCallback, ilStereoView, <il/ilDisplayDefs.h> NNNNOOOOTTTTEEEESSSS Many display operators take a _m_o_d_e parameter which is a bit-wise inclusive OR of various flags defined in <il/ilDisplayDefs.h>. These flags are interpreted based on which operator is called. For example, iiiillllCCCCeeeennnntttteeeerrrr can be used to align a view or can be used to locate the center of a view. If there is no image mapped to an ilView, the view is painted with the background color. The background color defaults to black. If an error occurs during rendering, the bad tile is painted with the error color. The error color defaults to magenta. PPPPaaaaggggeeee 22223333